package com.htjc.integral.account.mapper.newdb;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.htjc.integral.model.newaccount.EcBpAccountIntegral;
import com.htjc.integral.model.newaccount.EcBpAccountIntegralDetail;

/**
 * 积分账户明细表dao层
 * @author hlc
 *
 */
@Mapper
public interface EcBpAccountIntegralDetailMapper {
	
	/**
	 * 根据unionId查询明细
	 * @param params
	 * @return
	 */
	List<Map<String, Object>> selectDetailByUnionId(Map<String, Object> params);
	
	/**
	 * 根据accountId查询明细总条数
	 * @param accountId
	 * @return
	 */
	int selectTotalCount(Map<String, Object> params);
	
	/**
	 * 插入一条新数据
	 * @param accountIntegralDetail
	 * @return
	 */
	int insert(EcBpAccountIntegralDetail accountIntegralDetail);
	
	/**
	 * 根据明细ID更新资产中心同步状态
	 * @param accountIntegralDetail
	 * @return
	 */
	int update(EcBpAccountIntegralDetail accountIntegralDetail);
	
	/**
	 * 对账  根据 日期 和 业务类型 查询积分明细表信息
	 * @param params
	 * @return
	 */
	List<EcBpAccountIntegralDetail> selectByDateAndBussType(Map<String, Object> params);
	
	/**
	 * 对账  根据 日期 和 业务类型 查询积分明细表信息
	 * @param params
	 * @return
	 */
	Map<String, Object> selectTotal(Map<String, Object> params);
	
	/**
	 * 定时任务 将同步给资产中心失败的数据同步至资产中心
	 * @return
	 */
	List<EcBpAccountIntegralDetail> selectFailDetail();
	
	/**
	 * 根据流水号查询，判断是否有相同流水号
	 * @param serialNo
	 * @return
	 */
	int selectSerialNo(String serialNo);
	
	/**
	 * 积分账户明细表增加 扣减记录
	 * @param uuid 
	 * @param params
	 * @return
	 */
	int EcBpAccountIntegralDetailInsert(List<EcBpAccountIntegralDetail> ecBpAccountList);
	
}
